【レポート】 Hulu JapanでのAWS活用 #AWSメディア業界シンポジウム #AWSSummit
はじめに
清水です。2017/05/30(火)に行われましたAWS Summit Tokyo 2017 Day1 Dive Deep Day AWSメディア業界シンポジウム「Hulu JapanでのAWS活用」のセッションレポートになります。
スピーカーは松本 悠輔 氏(HJホールディングス合同会社 テクノロジー部 アソシエイト)です。
動画の配信部分のみならず、Webサイトやログ分析まわりなどHulu Japanのシステム構成の紹介があり、とても参考になるセッションでした。
レポート
システムをリニューアル
- 5/17にシステムをリニューアル。大きめの仕様変更
- リニューアルにあわせて、これまでのUSのプラットフォーム上に同居していたシステムを日本独自のものに移行、独立
- 日本独自のシステム改修・機能追加をより迅速に行っていくための判断
AWS活用のポイント
- リニューアル後のHulu Japanのシステムは基本的にすべてAWS上で稼働
- USのシステムはAWSではなく、今後もそのつもりはないそう
- システムリニューアルの裏側でもAWSを活用
- なぜAWSか?
- これまでの知見を活かせる
- 運用管理のエコシステムが充実している
- Terraformとか便利
- アクセスコントロールが柔軟
- IAM Policyすごい
- 最低権限の原則
- MPAAコンプライアンス対応のリソースが充実
- MPAA アメリカの映画協会が出しているガイドライン
Hulu Japanのシステム構成
Webサイト/API
- 3Tierモデル
- Route53, ELB, EC2, RDS
- Ruby on Rails, nginx, MySQL, Redis, memcached
- Auroraを積極的に活用
- スケーラビリティ確保、運用コスト削減
視聴ログ分析
- 視聴動向を把握して改善につなげる
- 動画プレイヤーからの視聴データを収集、分析
- 日次、週次のログ分析だと遅い。ストリーミング処理している
- データ受信部でDocker(Amazon ECS)を使用。便利
- ストリーミング処理はKinesis Stream, SparkStream on Amazo EMR
- Kinesis Analyticsが東京リージョンに来たら使いたい!
- バッチ処理はTreasureData
ログデータ分析
- VPC内で発生したログはfluentdでログ基盤に集約
- 外部ストレージに貯まるログはCloud Watch Event + AWS Lambda + ECS TaskでS3に集約
- Elasticsearchには直近1ヶ月のデータが格納され、関係者がいつでもアクセス、分析することができる
- 個人情報含まないログは、デベロッパーが見れるようにしている
- データに基づいた意識決定ができるように
- S3に保存された各形式のログはEMRを使ってparquet形式に変換してS3に再保存(アーカイブ)。読み出すときはAthena使用
動画配信
- CloudFrontではなく別のCDNを使っている
- MPEG-DASH, HLS, SmoothStreamingと3つの配信形式
- 後方互換のため
- Widevine, FairPlay Streaming, PlayReadyと3つのDRM
- これも後方互換のため
- コンテナはMPEG-DASHとHLSはFragmented MP4。HLSはMPEG2 TS
- AppleのFragmented MP4サポートに期待。ただ後方互換のためにMPEG2 TSを残すかも
- Silverlinghtは後方互換のために苦肉の選択として使用
バックエンドシステム
- その他の業務システムもすべてAWS上にほぼフルスクラッチで構築
- コンテンツ管理、カスタマーサポート、統合データ分析、課金管理、デバイス管理、地理制御、...
今後の課題
- 動画配信の安定化
- 多様な視聴ニーズへの対応
- HDR, 4k, 8k
- 様々なコンテンツの充実
- リニア系(音楽ライブ、スポーツ系)の充実
- コアコンピタンスと差別化へのフォーカス
- デベロッパーリソースに限りがあるので
- ユーザへのフォーカス
感想
リニューアルされた日本向けのHuluでAWSが使用されていることは知っていましたが、USではAWS使用ではなく、今後の日本独自の機能追加等のためにAWSへの移行した、とのことでした。今後の日本独自の機能追加やAWSサービスの活用に注目していきたいと思います。